skip to main content


Search for: All records

Creators/Authors contains: "Barnes, Tiffany"

Note: When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).
What is a DOI Number?

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

  1. Background. Software Engineering (SE) is a new and emerging topic in secondary computer science classrooms. However, a review of the recent literature has identified an overall lack of reporting on the development of SE secondary curriculum. Previous studies also report low student engagement when teaching these concepts. Objectives. In this experience report, we discuss the development of a 9-week, project-based learning (PBL) SE curriculum for secondary students. During this curriculum, students create a socially relevant project in groups of two to three. We discuss displays of participant engagement with CS concepts through the PBL pedagogy and the SE curriculum. Method. We examine participant engagement through group artifact interviews about student experiences during a week-long, virtual summer camp that piloted activities from our curriculum. During this camp, students followed a modified SE life cycle created by the authors of the paper. Findings. Participants showed engagement with the curriculum through various aspects of PBL, such as autonomy, creativity, and personal interest in their project topic. Implications. The lessons learned from this experience report suggest that PBL pedagogy can increase student engagement when teaching CS concepts, and this pedagogy provides detail and structure for future secondary SE curriculum implementations to support educators in the classroom 
    more » « less
    Free, publicly-accessible full text available September 27, 2024
  2. Abstract

    Learning to derive subgoals reduces the gap between experts and students and makes students prepared for future problem solving. Researchers have explored subgoal-labeled instructional materials in traditional problem solving and within tutoring systems to help novices learn to subgoal. However, only a little research is found on problem-solving strategies in relationship with subgoal learning. Also, these strategies are under-explored within computer-based tutors and learning environments. The backward problem-solving strategy is closely related to the process of subgoaling, where problem solving iteratively refines the goal into a new subgoal to reduce difficulty. In this paper, we explore a training strategy for backward strategy learning within an intelligent logic tutor that teaches logic-proof construction. The training session involved backward worked examples (BWE) and problem solving (BPS) to help students learn backward strategy towards improving their subgoaling and problem-solving skills. To evaluate the training strategy, we analyzed students’ 1) experience with and engagement in learning backward strategy, 2) performance and 3) proof construction approaches in new problems that they solved independently without tutor help after each level of training and in posttest. Our results showed that, when new problems were given to solve without any tutor help, students who were trained with both BWE and BPS outperformed students who received none of the treatment or only BWE during training. Additionally, students trained with both BWE and BPS derived subgoals during proof construction with significantly higher efficiency than the other two groups.

     
    more » « less
  3. Computer Science (CS) Frontiers is a 4-module curriculum, 9 weeks each, designed to bring the frontiers of computing to high school girls for exploration and development. Our prior work has showcased the work in developing and piloting our first three modules, Distributed Computing, Artificial Intelligence (AI), and the Internet of Things (IoT). During the summer of 2022, we piloted the completed curricula, including the new Software Engineering module, with 56 high school camp attendees. This poster reports on the newly developed software engineering module, the experiences of 7 teachers and 11 students using the module, and our plans for improving this module prior to its release in formal high school classrooms. Initial survey and interview data indicate that teachers became comfortable with facilitating the open-endedness of the final projects and that students appreciated the connections to socially relevant topics and the ability of their projects to help with real-world problems such as flood prevention and wheelchair accessibility. The CS Frontiers curriculum has been added to course offerings in Tennessee and adoption through the North Carolina Department of Public Instruction is currently underway. Teachers from Tennessee, North Carolina, Massachusetts, and New York have piloted the materials. Together with researchers, we are working to package the course and curricula for widespread adoption as additional support to students as they try out computing courses in their high school pathways. Our aim is to increase the interest and career awareness of CS for high school girls so they may have an equitable footing to choose CS as a potential major or career. 
    more » « less
    Free, publicly-accessible full text available June 1, 2024
  4. Many students rely on examples when learning to program, but they often face barriers when incorporating these examples into their own code and learning the concepts they present. As a step towards designing effective example interfaces that can support student learning, we investigate novices' needs and strategies when using examples to write code. We conducted a study with 12 pairs of high school students working on open-ended game design projects, using a system that allows students to browse examples based on their functionality, and to view and copy the example code. We analyzed interviews, screen recordings, and log data, identifying 5 moments when novices request examples, and 4 strategies that arise when students use examples. We synthesize these findings into principles that can inform the design of future example systems to better support students. 
    more » « less
    Free, publicly-accessible full text available June 29, 2024
  5. Block-based programming environments, such as Scratch and Snap!, engage users to create programming artifacts such as games and stories, and share them in an online community. Many Snap! users start programming by reusing and modifying an example project, but encounter many barriers when searching and identifying the relevant parts of the program to learn and reuse. We present Pinpoint, a system that helps Snap! programmers understand and reuse an existing program by isolating the code responsible for specific events during program execution. Specifically, a user can record an execution of the program (including user inputs and graphical output), replay the output, and select a specific time interval where the event of interest occurred, to view code that is relevant to this event. We conducted a small-scale user study to compare users’ program comprehension experience with and without Pinpoint, and found suggestive evidence that Pinpoint helps users understand and reuse a complex program more efficiently. 
    more » « less
  6. Mitrovic, A. ; Bosch, N. (Ed.)
    In computer science education timely help seeking during large programming projects is essential for student success. Help-seeking in typical courses happens in office hours and through online forums. In this research, we analyze students coding activities and help requests to understand the interaction between these activities. We collected student’s help requests during coding assignments on two different platforms in a CS2 course, and categorized those requests into eight categories (including implementation, addressing test failures, general debugging, etc.). Then we analyzed the proportion of each type of requests and how they changed over time. We also collected student’s coding status (including what part of the code changed and the frequency of commits) before they seek help to investigate if students share a similar code change behavior leading to certain type of help requests. 
    more » « less
  7. Historically, female students have shown low interest in the field of computer science. Previous computer science curricula have failed to address the lack of female-centered computer science activities, such as socially relevant and real-life applications. Our new summer camp curriculum introduces the topics of artificial intelligence (AI), machine learning (ML) and other real-world subjects to engage high school girls in computing by connecting lessons to relevant and cutting edge technologies. Topics range from social media bots, sentiment of natural language in different media, and the role of AI in criminal justice, and focus on programming activities in the NetsBlox and Python programming languages. Summer camp teachers were prepared in a week-long pedagogy and peer-teaching centered professional development program where they concurrently learned and practiced teaching the curriculum to one another. Then, pairs of teachers led students in learning through hands-on AI and ML activities in a half-day, two-week summer camp. In this paper, we discuss the curriculum development and implementation, as well as survey feedback from both teachers and students. 
    more » « less